package ModelLayer;

import java.util.ArrayList;
/**
 * Implementeret via Composite Pattern
 * 
 * @author (GP3 Project Solutions) 
 * @version (08-06-2011 JSM: Oprettelse af klassen)
 */
public class Koekken extends Vare
{
        // instans variabler
	private ArrayList<Vare> varer;

        /**
         * Konstruktør for objekter af klassen Koekken
         */
	public Koekken ()
	{
		varer = new ArrayList<Vare>();
	}

        /**
         * Metoden tilføjer en vare til den arrayliste,
         * der indeholder de enkeltvarer, et køkken består af
         * @param vare Objekt af typen vare
         */
	public void tilfoejVare(Vare vare)
	{
		varer.add(vare);
	}

        /**
         * Metode der udregner den samlede pris for
         * et køkken - dvs. priser for enkeltvarer lægges sammen
         * @return double Returnerer den samlede pris for et køkken
         */
    @Override
	public double hentPris()
	{
		double pris = 0;

		for(Vare vare : varer)
		{
			pris += vare.hentPris();
		}

		return pris;
	}

        /**
         * Metode der returnerer et String objekt med 
         * beskrivelse af hvilke delkomponenter (varer) et
         * køkken består af
         * @return String Beskrivelse af et køkkens delelementer
         */
    @Override
	public String toString()
	{
		String beskrivelse = "Koekken: ";

		for(int i = 0; i < varer.size(); i++)
		{
			if(i>0)
			{
				beskrivelse += ", ";
			}

			beskrivelse += varer.get(i).toString();
		}

		return beskrivelse;
	}
}
